home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / generator_scripts.lua < prev    next >
Encoding:
Text File  |  2004-12-21  |  3.8 KB  |  115 lines

  1.  
  2. function units_generator_setup()
  3.     building_setup(ENET_GEOMETRY_GENERATOR_SHADOW)
  4.     local unit = uniGetExecutor()
  5.     if(unit:getLife() > 0.0) then 
  6.         unit:addSimpleEffect(ENET_EFFECT_PS_ENVIRONMENT_GENERATOR_GLOW)
  7.     end
  8. end
  9.  
  10. function units_generator_resetup()
  11.     building_setup(ENET_GEOMETRY_GENERATOR_SHADOW)
  12.     local unit = uniGetExecutor()
  13.     if(unit:getLife() > 0.0) then 
  14.         unit:addSimpleEffect(ENET_EFFECT_PS_ENVIRONMENT_GENERATOR_GLOW)
  15.     end
  16. end
  17.  
  18. function units_generator_select()
  19.     units_select(12,1)
  20. end
  21.  
  22. function units_generator_unselect()
  23.     units_unselect()
  24. end
  25.  
  26. function units_generator_selectenemy()
  27.     uniGetExecutor():addSimpleEffect(ENET_EFFECT_SELECTEDGEOMETRY_ENEMY)
  28. end
  29.  
  30. function units_generator_damaged()
  31.     uniGetExecutor():applyDamage(uniGetLife())
  32. end
  33.  
  34. function units_generator_highlight()
  35.     uniGetExecutor():addEffectWithRadius(ENET_EFFECT_GEOMETRY_HIGHLIGHT,15)
  36. end
  37.  
  38. function units_generator_explode()
  39.     local unit = uniGetExecutor()
  40.     local field = unit:findEffect(ENET_EFFECT_PS_ENVIRONMENT_GENERATOR_GLOW)
  41.     if(field ~= nil) then field:suspendedDestroy(1.0) end
  42.     units_explode_base()
  43. end
  44.  
  45. function units_generator_move()
  46. end
  47.  
  48. function units_generator_fire()
  49. end
  50.  
  51. registerCommand(ENSCRIPTSET_GENERATOR,ENC_MOVE,"units_generator_move")
  52. registerCommand(ENSCRIPTSET_GENERATOR,ENC_FIRE1,"units_generator_fire")
  53. registerCommand(ENSCRIPTSET_GENERATOR,ENC_FIRE2,"units_generator_fire")
  54. registerCommand(ENSCRIPTSET_GENERATOR,ENC_SELECT,"units_generator_select")
  55. registerCommand(ENSCRIPTSET_GENERATOR,ENC_SELECTENEMY,"units_generator_selectenemy")
  56. registerCommand(ENSCRIPTSET_GENERATOR,ENC_UNSELECT,"units_generator_unselect")
  57. registerCommand(ENSCRIPTSET_GENERATOR,ENC_SETUP,"units_generator_setup")
  58. registerCommand(ENSCRIPTSET_GENERATOR,ENC_RESETUP,"units_generator_resetup")
  59. registerCommand(ENSCRIPTSET_GENERATOR,ENC_DAMAGED,"units_generator_damaged")
  60. registerCommand(ENSCRIPTSET_GENERATOR,ENC_EXPLODE,"units_generator_explode")
  61. registerCommand(ENSCRIPTSET_GENERATOR,ENC_HIGHLIGHT,"units_generator_highlight")
  62. registerCommand(ENSCRIPTSET_GENERATOR,ENC_INSIDE,"units_inside")
  63.  
  64. -- make description of unit
  65. desc = getEffectDescriptionP(ENET_UNIT_GENERATOR)
  66. desc.ClassID = ENCLASS_MESHINSTANCE
  67. desc.EffectClassType = ENECT_GEOMETRY
  68. desc.FileName = "generator.rmd"
  69. desc.ScriptSet = ENSCRIPTSET_GENERATOR
  70. desc.MoveType = ENMOVE_GROUND
  71. desc.RenderType = ENRENDERTYPE_GEOMETRY
  72. desc.Material = ENMAT_CAPITAL
  73. desc.MaterialColors = units_materialcolors_human
  74.  
  75. -- shadow
  76. desc = getEffectDescriptionP(ENET_GEOMETRY_GENERATOR_SHADOW)
  77. desc.ClassID = ENCLASS_MESHINSTANCE
  78. desc.EffectClassType = ENECT_GEOMETRY
  79. desc.FileName = "generator_shadow.rmd"
  80. desc.RenderType = ENRENDERTYPE_SHADOW
  81. desc.Material = ENMAT_SHADOW
  82. desc.MaterialColors = units_materialcolors_shadow
  83.  
  84. -- register new unit to logic
  85. unitDesc = logic_getUnitDescP(55)
  86. unitDesc.group = 0
  87. unitDesc.order = 0
  88. unitDesc.unit_res_id = ENET_UNIT_GENERATOR
  89. unitDesc.unit_icon_id = "Smallrobot_h_small_normal.dds"
  90. unitDesc.active_id = "Smallrobot_h_small_active.dds"
  91. unitDesc.pressed_id = "Smallrobot_h_small_pressed.dds"
  92. unitDesc.big_icon_id = "Psi_generator_ico.dds"
  93. unitDesc.small_icon_id = "Smallrobot_u_stats.dds"
  94. unitDesc.HP = 9
  95. unitDesc.MP = 0
  96. unitDesc.WR = 1
  97. unitDesc.min_WR = 1
  98. unitDesc.WD = 1
  99. unitDesc.WR2 = 0
  100. unitDesc.min_WR2 = 0
  101. unitDesc.WD2 = 0
  102. unitDesc.ability = 0
  103. unitDesc.transport = 0
  104. unitDesc.value = 1
  105. unitDesc.race = 0
  106. unitDesc.fire_pause = 0.2
  107. unitDesc.move_pause = 0.5
  108. unitDesc.unit_info_scale = 0.08
  109. unitDesc.scn_name = "PSYGEN"
  110.  
  111. ------------------------------------------------------------------------------------------------------
  112. ------------------------ effects related to unit------------------------------------------------------
  113. ------------------------------------------------------------------------------------------------------
  114.  
  115.